#include <stdio.h>
#include <stdlib.h>

typedef int ElemSet; /* 默认元素为整数*/

void XSort(ElemSet *a, int l, int r);

int main(void) {
    ElemSet *a; /* 数组a的下标从0开始 */
    int n, i;

    scanf("%d", &n);
    a = (ElemSet *)malloc(sizeof(ElemSet) * n); /* 声明空间 */
    for (i = 0; i < n; i++) { /* 读入待排序列 */
        scanf("%d", &a[i]);
    }
    XSort(a, 0, n - 1); /* 排序 */
    /* 输出有序序列 */
    printf("%d", a[0]);
    for (i = 1; i < n; i++) {
        printf(" %d", a[i]);
    }

    return 0;
}

void XSort(ElemSet *a, int l, int r) {
    ElemSet t;
    int i, j;

    for (i = l + 1; i <= r; i++) {
        t = a[i]; /* 当前待插入的元素 */
        for (j = i; j >= (l + 1); j--) {
            if (a[j - 1] > t) { /* 若不是插入位置 */
                a[j] = a[j - 1]; /* 位移 */
            } else {
                break; /* 找到插入的位置 */
            }
        }
        a[j] = t; /* 插入 */
    }
}